#!/bin/bash

[ -z "$DESTDIR" ] || exit 0

[ -z "$PLYMOUTH_LIBEXECDIR" ] && PLYMOUTH_LIBEXECDIR="@PLYMOUTH_LIBEXECDIR@"
[ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="@PLYMOUTH_DATADIR@"
[ -z "$PLYMOUTH_POPULATE_INITRD" ] && PLYMOUTH_POPULATE_INITRD="${PLYMOUTH_LIBEXECDIR}/plymouth/plymouth-populate-initrd"
[ -z "$PLYMOUTH_DESTDIR" ] && PLYMOUTH_DESTDIR="/boot"
[ -z "$PLYMOUTH_IMAGE_FILE" ] && PLYMOUTH_IMAGE_FILE="${PLYMOUTH_DESTDIR}/initrd-plymouth.img"

PLYMOUTH_INITRD_DIR="$(mktemp --tmpdir -d plymouth-XXXXXXX)"

$PLYMOUTH_POPULATE_INITRD -t "$PLYMOUTH_INITRD_DIR"

if [ $? -eq 0 ]; then
    command -v pigz &>/dev/null && gzip=pigz || gzip=gzip
    (cd $PLYMOUTH_INITRD_DIR;
        # FIXME: might make sense to add a flag to plymouth-populate-initrd to
        #        skip these from the start
        rm -f lib*/{ld*,libc*,libdl*,libm*,libz*,libpthread*}
        find | cpio -Hnewc -o | $gzip -9 > $PLYMOUTH_IMAGE_FILE
    )
fi

rm -rf $PLYMOUTH_INITRD_DIR
